home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / System Extras Headers / GX Headers / PrintingDrivers.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  26.7 KB  |  914 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        PrintingDrivers.h
  3.  
  4.     Copyright:    © 1984-1994 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __PRINTINGDRIVERS__
  13. #define __PRINTINGDRIVERS__
  14.  
  15. #ifndef __PRINTINGMESSAGES__
  16. #include <PrintingMessages.h>
  17. /*    #include <PrintingManager.h>                                */
  18. /*        #include <Printing.h>                                    */
  19. /*            #include <Quickdraw.h>                                */
  20. /*                #include <Types.h>                                */
  21. /*                    #include <ConditionalMacros.h>                */
  22. /*                    #include <MixedMode.h>                        */
  23. /*                        #include <Traps.h>                        */
  24. /*                #include <QuickdrawText.h>                        */
  25. /*                    #include <IntlResources.h>                    */
  26. /*            #include <Dialogs.h>                                */
  27. /*                #include <Windows.h>                            */
  28. /*                    #include <Events.h>                            */
  29. /*                        #include <OSUtils.h>                    */
  30. /*                    #include <Controls.h>                        */
  31. /*                        #include <Menus.h>                        */
  32. /*                #include <TextEdit.h>                            */
  33. /*        #include <Files.h>                                        */
  34. /*            #include <SegLoad.h>                                */
  35. /*        #include <Collections.h>                                */
  36. /*        #include <PrintingErrors.h>                                */
  37. /*        #include <graphics types.h>                                */
  38. /*            #include "math types.h"                                */
  39. /*        #include <font types.h>                                    */
  40. /*        #include <scaler types.h>                                */
  41. /*            #include "sfnt types.h"                                */
  42. /*    #include <PrintingResTypes.h>                                */
  43. /*    #include <Messages.h>                                        */
  44. /*    #include <Lists.h>                                            */
  45. /*        #include <Memory.h>                                        */
  46. #endif
  47.  
  48. #ifndef __PRINTING__
  49. #endif
  50.  
  51. enum  {
  52.     gxInputTraysMenuItem        = -1
  53. };
  54.  
  55. enum  {
  56.     gxUseCustomIO                = 0x00000001
  57. };
  58.  
  59. #if defined(powerc) || defined (__powerc)
  60. #pragma options align=mac68k
  61. #endif
  62. struct gxIOPrefsRec {
  63.     unsigned long                communicationsOptions;
  64.     unsigned long                numBuffers;
  65.     unsigned long                bufferSize;
  66.     unsigned long                numReqBlocks;
  67.     unsigned long                openCloseTimeout;
  68.     unsigned long                readWriteTimeout;
  69. };
  70. #if defined(powerc) || defined(__powerc)
  71. #pragma options align=reset
  72. #endif
  73.  
  74. typedef struct gxIOPrefsRec gxIOPrefsRec, *gxIOPrefsPtr, **gxIOPrefsHdl;
  75.  
  76. #if defined(powerc) || defined (__powerc)
  77. #pragma options align=mac68k
  78. #endif
  79. struct gxPrintDestinationRec {
  80.     Boolean                        printToFile;
  81.     FSSpec                        fSpec;
  82.     char                        includeFonts;
  83.     Str31                        fileFormat;
  84. };
  85. #if defined(powerc) || defined(__powerc)
  86. #pragma options align=reset
  87. #endif
  88.  
  89. typedef struct gxPrintDestinationRec gxPrintDestinationRec, *gxPrintDestinationPtr, **gxPrintDestinationHdl;
  90.  
  91. #if defined(powerc) || defined (__powerc)
  92. #pragma options align=mac68k
  93. #endif
  94. struct gxPortListRec {
  95.     char                        firstMarker, secondMarker;
  96.     Handle                        iconSuiteHandle;
  97.     Handle                        outputDriverName;
  98.     Handle                        inputDriverName;
  99.     Str255                        iconName;
  100. };
  101. #if defined(powerc) || defined(__powerc)
  102. #pragma options align=reset
  103. #endif
  104.  
  105. typedef struct gxPortListRec gxPortListRec, *gxPortListPtr;
  106.  
  107. #define gxDeviceCommunicationsID (0)
  108.  
  109. #define gxPostscriptProductInfoType 'prod'
  110.  
  111. #define gxPostscriptProductNameID (0)
  112.  
  113. #define gxPostscriptVersionID (1)
  114.  
  115. #define gxPostscriptRevisionID (2)
  116.  
  117. #define gxPostscriptVMAvailableID (3)
  118.  
  119. #define gxPostscriptFontStreamTypeID (4)
  120.  
  121. #define gxPostscriptLanguageLevelID (5)
  122.  
  123. enum  {
  124.     gxAutoFeedButtonId            = 3
  125. };
  126.  
  127. enum  {
  128.     gxUnivAlertStatusResourceId    = -28508
  129. };
  130.  
  131. enum  {
  132.     gxUnivManualFeedIndex        = 2,
  133.     gxUnivFailToPrintIndex        = 3,
  134.     gxUnivPaperJamIndex            = 4,
  135.     gxUnivOutOfPaperIndex        = 5,
  136.     gxUnivNoPaperTrayIndex        = 6,
  137.     gxUnivPrinterReadyIndex        = 7,
  138.     gxUnivAlertBeforeIndex        = 9,
  139.     gxUnivAlertAfterIndex        = 10
  140. };
  141.  
  142. enum  {
  143.     gxDefaultStatusBufferSize    = 10,
  144.     gxManualFeedStatusBufferSize = 34,
  145.     gxOutOfPaperStatusBufferSize = 42
  146. };
  147.  
  148. #if defined(powerc) || defined (__powerc)
  149. #pragma options align=mac68k
  150. #endif
  151. struct gxManualFeedRecord {
  152.     Boolean                        canAutoFeed;
  153.     Str31                        paperTypeName;
  154. };
  155. #if defined(powerc) || defined(__powerc)
  156. #pragma options align=reset
  157. #endif
  158.  
  159. typedef struct gxManualFeedRecord gxManualFeedRecord;
  160.  
  161. #if defined(powerc) || defined (__powerc)
  162. #pragma options align=mac68k
  163. #endif
  164. struct gxOutOfPaperRecord {
  165.     Str31                        paperTypeName;
  166. };
  167. #if defined(powerc) || defined(__powerc)
  168. #pragma options align=reset
  169. #endif
  170.  
  171. typedef struct gxOutOfPaperRecord gxOutOfPaperRecord;
  172.  
  173. #if defined(powerc) || defined (__powerc)
  174. #pragma options align=mac68k
  175. #endif
  176. struct gxCustomizationRec {
  177.     short                        horizontalResolution;
  178.     short                        verticalResolution;
  179.     short                        upDriverType;
  180.     Point                        patternStretch;
  181.     short                        translatorSettings;
  182. };
  183. #if defined(powerc) || defined(__powerc)
  184. #pragma options align=reset
  185. #endif
  186.  
  187. typedef struct gxCustomizationRec gxCustomizationRec, *gxCustomizationPtr, **gxCustomizationHdl;
  188.  
  189. #if defined(powerc) || defined (__powerc)
  190. #pragma options align=mac68k
  191. #endif
  192. struct gxResolutionRec {
  193.     short                        rangeType;
  194.     short                        xMinimumResolution;
  195.     short                        xMaximumResolution;
  196.     short                        yMinimumResolution;
  197.     short                        yMaximumResolution;
  198.     short                        resolutionCount;
  199.     Point                        resolutions[1];
  200. };
  201. #if defined(powerc) || defined(__powerc)
  202. #pragma options align=reset
  203. #endif
  204.  
  205. typedef struct gxResolutionRec gxResolutionRec, *gxResolutionPtr, **gxResolutionHdl;
  206.  
  207. enum  {
  208.     gxPrintRecordVersion        = 8
  209. };
  210.  
  211. enum  {
  212.     gxAutoFeed                    = 0,
  213.     gxManualFeed                = 1
  214. };
  215.  
  216. enum  {
  217.     gxPreciseBitmap                = 0x0001,
  218.     gxBiggerPages                = 0x0002,
  219.     gxGraphicSmoothing            = 0x0004,
  220.     gxTextSmoothing                = 0x0008,
  221.     gxFontSubstitution            = 0x0010,
  222.     gxInvertPage                = 0x0020,
  223.     gxFlipPageHoriz                = 0x0040,
  224.     gxFlipPageVert                = 0x0080,
  225.     gxColorMode                    = 0x0100,
  226.     gxBidirectional                = 0x0200,
  227.     gxUserFlag0                    = 0x0400,
  228.     gxUserFlag1                    = 0x0800,
  229.     gxUserFlag2                    = 0x1000,
  230.     gxReservedFlag0                = 0x2000,
  231.     gxReservedFlag1                = 0x4000,
  232.     gxReservedFlag2                = 0x8000
  233. };
  234.  
  235. enum  {
  236.     gxPortraitOrientation        = 0,
  237.     gxLandscapeOrientation        = 1,
  238.     gxAltPortraitOrientation    = 2,
  239.     gxAltLandscapeOrientation    = 3
  240. };
  241.  
  242. enum  {
  243.     gxBestQuality                = 0,
  244.     gxFasterQuality                = 1,
  245.     gxDraftQuality                = 2
  246. };
  247.  
  248. enum  {
  249.     gxFirstTray                    = 0,
  250.     gxSecondTray                = 1,
  251.     gxThirdTray                    = 2
  252. };
  253.  
  254. enum  {
  255.     gxNoCoverPage                = 0,
  256.     gxFirstPageCover            = 1,
  257.     gxLastPageCover                = 2
  258. };
  259.  
  260. enum  {
  261.     gxUnidirectionalMotion        = 0,
  262.     gxBidirectionalMotion        = 1
  263. };
  264.  
  265. enum  {
  266.     gxNoFile                    = 0,
  267.     gxPostScriptFile            = 1
  268. };
  269.  
  270. #if defined(powerc) || defined (__powerc)
  271. #pragma options align=mac68k
  272. #endif
  273. struct gxUniversalPrintRecord {
  274.     short                        prVersion;
  275.     short                        appDev;
  276.     short                        appVRes;
  277.     short                        appHRes;
  278.     Rect                        appPage;
  279.     Rect                        appPaper;
  280.     short                        devType;
  281.     short                        pageV;
  282.     short                        pageH;
  283.     char                        fillByte;
  284.     char                        feed;
  285.     short                        devKind;
  286.     short                        devVRes;
  287.     short                        devHRes;
  288.     Rect                        devPage;
  289.     short                        actualCopies;
  290.     short                        options;
  291.     short                        reduction;
  292.     char                        orientation;
  293.     char                        qualityMode;
  294.     char                        coverPage;
  295.     char                        firstTray;
  296.     char                        remainingTray;
  297.     char                        headMotion;
  298.     char                        saveFile;
  299.     char                        userCluster1;
  300.     char                        userCluster2;
  301.     char                        userCluster3;
  302.     short                        firstPage;
  303.     short                        lastPage;
  304.     short                        copies;
  305.     char                        reserved1;
  306.     char                        reserved2;
  307.     PrIdleUPP                    pIdleProc;
  308.     Ptr                            pFileName;
  309.     short                        fileVol;
  310.     char                        fileVers;
  311.     char                        reserved3;
  312.     short                        printX[19];
  313. };
  314. #if defined(powerc) || defined(__powerc)
  315. #pragma options align=reset
  316. #endif
  317.  
  318. typedef struct gxUniversalPrintRecord gxUniversalPrintRecord, *gxUniversalPrintRecordPtr, **gxUniversalPrintRecordHdl;
  319.  
  320. #ifdef __cplusplus
  321. extern "C" {
  322. #endif
  323.  
  324. extern OSErr Forward_GXPrOpenDoc(THPrint, TPPrPort *)
  325.  TWOWORDINLINE(0x7036, 0xABFB);
  326. extern OSErr Forward_GXPrCloseDoc(TPPrPort)
  327.  TWOWORDINLINE(0x7036, 0xABFB);
  328. extern OSErr Forward_GXPrOpenPage(TPPrPort, TPRect, Point resolution)
  329.  TWOWORDINLINE(0x7036, 0xABFB);
  330. extern OSErr Forward_GXPrClosePage(TPPrPort)
  331.  TWOWORDINLINE(0x7036, 0xABFB);
  332. extern OSErr Forward_GXPrintDefault(THPrint)
  333.  TWOWORDINLINE(0x7036, 0xABFB);
  334. extern OSErr Forward_GXPrStlDialog(THPrint, Boolean *)
  335.  TWOWORDINLINE(0x7036, 0xABFB);
  336. extern OSErr Forward_GXPrJobDialog(THPrint, Boolean *)
  337.  TWOWORDINLINE(0x7036, 0xABFB);
  338. extern OSErr Forward_GXPrStlInit(THPrint, TPPrDlg *)
  339.  TWOWORDINLINE(0x7036, 0xABFB);
  340. extern OSErr Forward_GXPrJobInit(THPrint, TPPrDlg *)
  341.  TWOWORDINLINE(0x7036, 0xABFB);
  342. extern OSErr Forward_GXPrDlgMain(THPrint, PDlgInitUPP, Boolean *)
  343.  TWOWORDINLINE(0x7036, 0xABFB);
  344. extern OSErr Forward_GXPrValidate(THPrint, Boolean *)
  345.  TWOWORDINLINE(0x7036, 0xABFB);
  346. extern OSErr Forward_GXPrJobMerge(THPrint, THPrint)
  347.  TWOWORDINLINE(0x7036, 0xABFB);
  348. extern OSErr Forward_GXPrGeneral(Ptr)
  349.  TWOWORDINLINE(0x7036, 0xABFB);
  350. extern OSErr Forward_GXConvertPrintRecordTo(THPrint)
  351.  TWOWORDINLINE(0x7036, 0xABFB);
  352. extern OSErr Forward_GXConvertPrintRecordFrom(THPrint)
  353.  TWOWORDINLINE(0x7036, 0xABFB);
  354. extern OSErr Forward_GXPrintRecordToJob(THPrint, gxJob)
  355.  TWOWORDINLINE(0x7036, 0xABFB);
  356. #ifdef __cplusplus
  357. }
  358. #endif
  359.  
  360. typedef long gxRasterPlaneOptions;
  361.  
  362. enum  {
  363.     gxDefaultOffscreen            = 0x00000000,
  364.     gxDontSetHalftone            = 0x00000001,
  365.     gxDotTypeIsDitherLevel        = 0x00000002
  366. };
  367.  
  368. #if defined(powerc) || defined (__powerc)
  369. #pragma options align=mac68k
  370. #endif
  371. struct gxPlaneSetupRec {
  372.     gxRasterPlaneOptions        planeOptions;
  373.     gxHalftone                    planeHalftone;
  374.     gxColorSpace                planeSpace;
  375.     gxColorSet                    planeSet;
  376.     gxColorProfile                planeProfile;
  377. };
  378. #if defined(powerc) || defined(__powerc)
  379. #pragma options align=reset
  380. #endif
  381.  
  382. typedef struct gxPlaneSetupRec gxPlaneSetupRec;
  383.  
  384. #if defined(powerc) || defined (__powerc)
  385. #pragma options align=mac68k
  386. #endif
  387. struct gxOffscreenSetupRec {
  388.     short                        width;
  389.     short                        minHeight;
  390.     short                        maxHeight;
  391.     Fixed                        ramPercentage;
  392.     long                        ramSlop;
  393.     short                        depth;
  394.     gxMapping                    vpMapping;
  395.     gxMapping                    vdMapping;
  396.     short                        planes;
  397.     gxPlaneSetupRec                planeSetup[4];
  398. };
  399. #if defined(powerc) || defined(__powerc)
  400. #pragma options align=reset
  401. #endif
  402.  
  403. typedef struct gxOffscreenSetupRec gxOffscreenSetupRec;
  404.  
  405. #if defined(powerc) || defined (__powerc)
  406. #pragma options align=mac68k
  407. #endif
  408. struct gxOffscreenPlaneRec {
  409.     gxViewPort                    theViewPort;
  410.     gxViewDevice                theDevice;
  411.     gxViewGroup                    theViewGroup;
  412.     gxShape                        theBitmap;
  413.     gxBitmap                    theBits;
  414. };
  415. #if defined(powerc) || defined(__powerc)
  416. #pragma options align=reset
  417. #endif
  418.  
  419. typedef struct gxOffscreenPlaneRec gxOffscreenPlaneRec;
  420.  
  421. #if defined(powerc) || defined (__powerc)
  422. #pragma options align=mac68k
  423. #endif
  424. struct gxOffscreenRec {
  425.     short                        numberOfPlanes;
  426.     Handle                        offscreenStorage;
  427.     gxOffscreenPlaneRec            thePlanes[1];
  428. };
  429. #if defined(powerc) || defined(__powerc)
  430. #pragma options align=reset
  431. #endif
  432.  
  433. typedef struct gxOffscreenRec gxOffscreenRec, *gxOffscreenPtr, **gxOffscreenHdl;
  434.  
  435. typedef long gxRasterRenderOptions;
  436.  
  437. enum  {
  438.     gxDefaultRaster                = 0x00000000,
  439.     gxDontResolveTransferModes    = 0x00000001,
  440.     gxRenderInReverse            = 0x00000002,
  441.     gxOnePlaneAtATime            = 0x00000004,
  442.     gxSendAllBands                = 0x00000008
  443. };
  444.  
  445. #if defined(powerc) || defined (__powerc)
  446. #pragma options align=mac68k
  447. #endif
  448. struct gxRasterPrefsRec {
  449.     gxRasterRenderOptions        renderOptions;
  450.     Fixed                        hImageRes;
  451.     Fixed                        vImageRes;
  452.     short                        minBandSize;
  453.     short                        maxBandSize;
  454.     Fixed                        ramPercentage;
  455.     long                        ramSlop;
  456.     short                        depth;
  457.     short                        numPlanes;
  458.     gxPlaneSetupRec                planeSetup[1];
  459. };
  460. #if defined(powerc) || defined(__powerc)
  461. #pragma options align=reset
  462. #endif
  463.  
  464. typedef struct gxRasterPrefsRec gxRasterPrefsRec, *gxRasterPrefsPtr, **gxRasterPrefsHdl;
  465.  
  466. typedef long gxRasterPackageOptions;
  467.  
  468. enum  {
  469.     gxSendAllColors                = 0x00000001,
  470.     gxInterlaceColor            = 0x00000002,
  471.     gxOverlayColor                = 0x00000004,
  472.     gxUseColor                    = (gxInterlaceColor|gxOverlayColor)
  473. };
  474.  
  475. #if defined(powerc) || defined (__powerc)
  476. #pragma options align=mac68k
  477. #endif
  478. struct gxRasterPackageRec {
  479.     Ptr                            bufferSize;
  480.     short                        colorPasses;
  481.     short                        headHeight;
  482.     short                        numberPasses;
  483.     short                        passOffset;
  484.     gxRasterPackageOptions        packageOptions;
  485. };
  486. #if defined(powerc) || defined(__powerc)
  487. #pragma options align=reset
  488. #endif
  489.  
  490. typedef struct gxRasterPackageRec gxRasterPackageRec, *gxRasterPackagePtr, **gxRasterPackageHdl;
  491.  
  492. #if defined(powerc) || defined (__powerc)
  493. #pragma options align=mac68k
  494. #endif
  495. struct gxRasterPackageBitmapRec {
  496.     gxBitmap                    *bitmapToPackage;
  497.     unsigned short                startRaster;
  498.     unsigned short                colorBand;
  499.     Boolean                        isBandDirty;
  500.     Rect                        dirtyRect;
  501. };
  502. #if defined(powerc) || defined(__powerc)
  503. #pragma options align=reset
  504. #endif
  505.  
  506. typedef struct gxRasterPackageBitmapRec gxRasterPackageBitmapRec;
  507.  
  508. #if defined(powerc) || defined (__powerc)
  509. #pragma options align=mac68k
  510. #endif
  511. struct gxStandardNumberRec {
  512.     short                        numberType;
  513.     short                        minWidth;
  514.     char                        padChar;
  515.     char                        alignment;
  516.     Str31                        startString;
  517.     Str31                        endString;
  518. };
  519. #if defined(powerc) || defined(__powerc)
  520. #pragma options align=reset
  521. #endif
  522.  
  523. typedef struct gxStandardNumberRec gxStandardNumberRec, *gxStandardNumberPtr;
  524.  
  525. #if defined(powerc) || defined (__powerc)
  526. #pragma options align=mac68k
  527. #endif
  528. struct gxRasterPackageControlsRec {
  529.     short                        startPageStringID;
  530.     short                        formFeedStringID;
  531.     short                        forwardMax;
  532.     gxStandardNumberRec            forwardLineFeed;
  533.     short                        reverseMax;
  534.     gxStandardNumberRec            reverseLineFeed;
  535. };
  536. #if defined(powerc) || defined(__powerc)
  537. #pragma options align=reset
  538. #endif
  539.  
  540. typedef struct gxRasterPackageControlsRec gxRasterPackageControlsRec, *gxRasterPackageControlsPtr, **gxRasterPackageControlsHdl;
  541.  
  542. #if defined(powerc) || defined (__powerc)
  543. #pragma options align=mac68k
  544. #endif
  545. struct gxRasterImageDataRec {
  546.     gxRasterRenderOptions        renderOptions;
  547.     Fixed                        hImageRes;
  548.     Fixed                        vImageRes;
  549.     short                        minBandSize;
  550.     short                        maxBandSize;
  551.     gxRectangle                    pageSize;
  552.     short                        currentYPos;
  553.     gxRasterPackageRec            packagingInfo;
  554.     Boolean                        optionsValid;
  555.     gxRasterPackageControlsRec    packageControls;
  556.     gxOffscreenSetupRec            theSetup;
  557. };
  558. #if defined(powerc) || defined(__powerc)
  559. #pragma options align=reset
  560. #endif
  561.  
  562. typedef struct gxRasterImageDataRec gxRasterImageDataRec, *gxRasterImageDataPtr, **gxRasterImageDataHdl;
  563.  
  564. #ifdef __cplusplus
  565. extern "C" {
  566. #endif
  567.  
  568. #define GXRASTERMSGGLUE(selector) SendMessageGlue(0x0001, selector)
  569.  
  570. extern OSErr Send_GXRasterDataIn(gxOffscreenHdl, gxRectangle *bandRectangle, gxRectangle *dirtyRectangle)
  571.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 0, 0xABFB);
  572. extern OSErr Forward_GXRasterDataIn(gxOffscreenHdl, gxRectangle *bandRectangle, gxRectangle *dirtyRectangle)
  573.  TWOWORDINLINE(0x7036, 0xABFB);
  574. extern OSErr Send_GXRasterLineFeed(short *lineFeedSize, Ptr buffer, unsigned long *bufferPos, gxRasterImageDataHdl)
  575.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 1, 0xABFB);
  576. extern OSErr Forward_GXRasterLineFeed(short *lineFeedSize, Ptr buffer, unsigned long *bufferPos, gxRasterImageDataHdl)
  577.  TWOWORDINLINE(0x7036, 0xABFB);
  578. extern OSErr Send_GXRasterPackageBitmap(gxRasterPackageBitmapRec *whatToPackage, Ptr buffer, unsigned long *bufferPos, gxRasterImageDataHdl)
  579.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 2, 0xABFB);
  580. extern OSErr Forward_GXRasterPackageBitmap(gxRasterPackageBitmapRec *whatToPackage, Ptr buffer, unsigned long *bufferPos, gxRasterImageDataHdl)
  581.  TWOWORDINLINE(0x7036, 0xABFB);
  582. #ifdef __cplusplus
  583. }
  584. #endif
  585.  
  586. typedef long gxVectorRenderOptions;
  587.  
  588. enum  {
  589.     gxColorSort                    = 0x00000001,
  590.     gxATransferMode                = 0x00000002,
  591.     gxNoOverlap                    = 0x00000004,
  592.     gxAColorBitmap                = 0x00000008,
  593.     gxSortbyPenPos                = 0x00000010,
  594.     gxPenLessPlotter            = 0x00000020,
  595.     gxCutterPlotter                = 0x00000040,
  596.     gxNoBackGround                = 0x00000080
  597. };
  598.  
  599. typedef long gxVectorShapeOptions;
  600.  
  601. enum  {
  602.     gxUnidirectionalFill        = 0x00000001,
  603.     gxAlsoOutlineFilledShape    = 0x00000002
  604. };
  605.  
  606. #if defined(powerc) || defined (__powerc)
  607. #pragma options align=mac68k
  608. #endif
  609. struct gxVHalftoneCompRec {
  610.     Fixed                        angle;
  611.     long                        penIndex;
  612. };
  613. #if defined(powerc) || defined(__powerc)
  614. #pragma options align=reset
  615. #endif
  616.  
  617. typedef struct gxVHalftoneCompRec gxVHalftoneCompRec;
  618.  
  619. #if defined(powerc) || defined (__powerc)
  620. #pragma options align=mac68k
  621. #endif
  622. struct gxVHalftoneRec {
  623.     gxColorSpace                halftoneSpace;
  624.     gxVHalftoneCompRec            halftoneComps[4];
  625.     long                        penIndexForBW;
  626. };
  627. #if defined(powerc) || defined(__powerc)
  628. #pragma options align=reset
  629. #endif
  630.  
  631. typedef struct gxVHalftoneRec gxVHalftoneRec;
  632.  
  633. #if defined(powerc) || defined (__powerc)
  634. #pragma options align=mac68k
  635. #endif
  636. struct gxVectorShapeDataRec {
  637.     gxVectorShapeOptions        shapeOptions;
  638.     long                        maxPolyPoints;
  639.     Fixed                        shapeError;
  640.     Fixed                        textSize;
  641.     Fixed                        frameSize;
  642. };
  643. #if defined(powerc) || defined(__powerc)
  644. #pragma options align=reset
  645. #endif
  646.  
  647. typedef struct gxVectorShapeDataRec gxVectorShapeDataRec;
  648.  
  649. #if defined(powerc) || defined (__powerc)
  650. #pragma options align=mac68k
  651. #endif
  652. struct gxVectorImageDataRec {
  653.     gxVectorRenderOptions        renderOptions;
  654.     Fixed                        devRes;
  655.     gxTransform                    devTransform;
  656.     gxColorSet                    clrSet;
  657.     gxColor                        bgColor;
  658.     gxVHalftoneRec                halftoneInfo;
  659.     gxPenTableHdl                hPenTable;
  660.     gxRectangle                    pageRect;
  661.     gxVectorShapeDataRec        shapeData;
  662. };
  663. #if defined(powerc) || defined(__powerc)
  664. #pragma options align=reset
  665. #endif
  666.  
  667. typedef struct gxVectorImageDataRec gxVectorImageDataRec, *gxVectorImageDataPtr, **gxVectorImageDataHdl;
  668.  
  669. #ifdef __cplusplus
  670. extern "C" {
  671. #endif
  672.  
  673. #define GXVECTORMSGGLUE(selector) SendMessageGlue(0x0001, selector)
  674.  
  675. extern OSErr Send_GXVectorPackageShape(gxShape, long penIndex)
  676.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 0, 0xABFB);
  677. extern OSErr Forward_GXVectorPackageShape(gxShape, long penIndex)
  678.  TWOWORDINLINE(0x7036, 0xABFB);
  679. extern OSErr Send_GXVectorLoadPens(gxPenTableHdl, long *shapeCounts, boolean *penTableChanged)
  680.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 1, 0xABFB);
  681. extern OSErr Forward_GXVectorLoadPens(gxPenTableHdl, long *shapeCounts, boolean *penTableChanged)
  682.  TWOWORDINLINE(0x7036, 0xABFB);
  683. extern OSErr Send_GXVectorVectorizeShape(gxShape, long penIndex, gxVectorShapeDataRec *)
  684.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 2, 0xABFB);
  685. extern OSErr Forward_GXVectorVectorizeShape(gxShape, long penIndex, gxVectorShapeDataRec *)
  686.  TWOWORDINLINE(0x7036, 0xABFB);
  687. #ifdef __cplusplus
  688. }
  689. #endif
  690.  
  691. enum  {
  692.     gxPostSynonym                = (long)'post'
  693. };
  694.  
  695. typedef long gxPostScriptRenderOptions;
  696.  
  697. enum  {
  698.     gxNeedsHexOption            = 0x00000001,
  699.     gxNeedsCommentsOption        = 0x00000002,
  700.     gxBoundingBoxesOption        = 0x00000004,
  701.     gxPortablePostScriptOption    = 0x00000008,
  702.     gxTextClipsToPathOption        = 0x00000010,
  703.     gxFlattenClipPathOption        = 0x00000020,
  704.     gxUseCharpath1Option        = 0x00000040,
  705.     gxUseLevel2ColorOption        = 0x00000080
  706. };
  707.  
  708. #if defined(powerc) || defined (__powerc)
  709. #pragma options align=mac68k
  710. #endif
  711. struct gxPrinterGlyphsRec {
  712.     gxFont                        theFont;
  713.     long                        nGlyphs;
  714.     gxFontPlatform                platform;
  715.     gxFontScript                script;
  716.     gxFontLanguage                language;
  717.     long                        vmUsage;
  718.     unsigned long                glyphBits[1];
  719. };
  720. #if defined(powerc) || defined(__powerc)
  721. #pragma options align=reset
  722. #endif
  723.  
  724. typedef struct gxPrinterGlyphsRec gxPrinterGlyphsRec;
  725.  
  726. #if defined(powerc) || defined (__powerc)
  727. #pragma options align=mac68k
  728. #endif
  729. struct gxPostScriptImageDataRec {
  730.     short                        languageLevel;
  731.     gxColorSpace                devCSpace;
  732.     gxColorProfile                devCProfile;
  733.     gxPostScriptRenderOptions    renderOptions;
  734.     long                        pathLimit;
  735.     short                        gsaveLimit;
  736.     short                        opStackLimit;
  737.     scalerStreamTypeFlag        fontType;
  738.     long                        printerVM;
  739.     long                        reserved0;
  740. };
  741. #if defined(powerc) || defined(__powerc)
  742. #pragma options align=reset
  743. #endif
  744.  
  745. typedef struct gxPostScriptImageDataRec gxPostScriptImageDataRec, *gxPostScriptImageDataPtr, **gxPostScriptImageDataHdl;
  746.  
  747. #if defined(powerc) || defined (__powerc)
  748. #pragma options align=mac68k
  749. #endif
  750. struct gxProcSetListRec {
  751.     Signature                    clientid;
  752.     OSType                        controlType;
  753.     short                        controlid;
  754.     OSType                        dataType;
  755.     long                        reserved0;
  756. };
  757. #if defined(powerc) || defined(__powerc)
  758. #pragma options align=reset
  759. #endif
  760.  
  761. typedef struct gxProcSetListRec gxProcSetListRec, *gxProcSetListPtr, **gxProcSetListHdl;
  762.  
  763. enum  {
  764.     gxPrinterOK                    = 0,
  765.     gxIntializePrinter            = 1,
  766.     gxFilePrinting                = 2,
  767.     gxResetPrinter                = 128
  768. };
  769.  
  770. #ifdef __cplusplus
  771. extern "C" {
  772. #endif
  773.  
  774. #define GXPOSTSCRIPTMSGGLUE(selector) SendMessageGlue(0x0001, selector)
  775.  
  776. extern OSErr Send_GXPostScriptQueryPrinter(long *)
  777.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 0, 0xABFB);
  778. extern OSErr Forward_GXPostScriptQueryPrinter(long *)
  779.  TWOWORDINLINE(0x7036, 0xABFB);
  780. extern OSErr Send_GXPostScriptInitializePrinter(void)
  781.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 1, 0xABFB);
  782. extern OSErr Forward_GXPostScriptInitializePrinter(void)
  783.  TWOWORDINLINE(0x7036, 0xABFB);
  784. extern OSErr Send_GXPostScriptResetPrinter(void)
  785.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 2, 0xABFB);
  786. extern OSErr Forward_GXPostScriptResetPrinter(void)
  787.  TWOWORDINLINE(0x7036, 0xABFB);
  788. extern OSErr Send_GXPostScriptExitServer(void)
  789.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 3, 0xABFB);
  790. extern OSErr Forward_GXPostScriptExitServer(void)
  791.  TWOWORDINLINE(0x7036, 0xABFB);
  792. extern OSErr Send_GXPostScriptGetStatusText(Handle)
  793.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 4, 0xABFB);
  794. extern OSErr Forward_GXPostScriptGetStatusText(Handle)
  795.  TWOWORDINLINE(0x7036, 0xABFB);
  796. extern OSErr Send_GXPostScriptGetPrinterText(Handle)
  797.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 5, 0xABFB);
  798. extern OSErr Forward_GXPostScriptGetPrinterText(Handle)
  799.  TWOWORDINLINE(0x7036, 0xABFB);
  800. extern OSErr Send_GXPostScriptScanStatusText(Handle)
  801.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 6, 0xABFB);
  802. extern OSErr Forward_GXPostScriptScanStatusText(Handle)
  803.  TWOWORDINLINE(0x7036, 0xABFB);
  804. extern OSErr Send_GXPostScriptScanPrinterText(Handle)
  805.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 7, 0xABFB);
  806. extern OSErr Forward_GXPostScriptScanPrinterText(Handle)
  807.  TWOWORDINLINE(0x7036, 0xABFB);
  808. extern OSErr Send_GXPostScriptGetDocumentProcSetList(gxProcSetListHdl, gxPostScriptImageDataHdl)
  809.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 8, 0xABFB);
  810. extern OSErr Forward_GXPostScriptGetDocumentProcSetList(gxProcSetListHdl, gxPostScriptImageDataHdl)
  811.  TWOWORDINLINE(0x7036, 0xABFB);
  812. extern OSErr Send_GXPostScriptDownloadProcSetList(gxProcSetListHdl, gxPostScriptImageDataHdl)
  813.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 9, 0xABFB);
  814. extern OSErr Forward_GXPostScriptDownloadProcSetList(gxProcSetListHdl, gxPostScriptImageDataHdl)
  815.  TWOWORDINLINE(0x7036, 0xABFB);
  816. extern OSErr Send_GXPostScriptGetPrinterGlyphsInformation(gxPrinterGlyphsRec *)
  817.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 10, 0xABFB);
  818. extern OSErr Forward_GXPostScriptGetPrinterGlyphsInformation(gxPrinterGlyphsRec *)
  819.  TWOWORDINLINE(0x7036, 0xABFB);
  820. extern OSErr Send_GXPostScriptStreamFont(gxFont fontref, scalerStream *streamPtr)
  821.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 11, 0xABFB);
  822. extern OSErr Forward_GXPostScriptPostScriptStreamFont(gxFont fontref, scalerStream *streamPtr)
  823.  TWOWORDINLINE(0x7036, 0xABFB);
  824. extern OSErr Send_GXPostScriptDoDocumentHeader(gxPostScriptImageDataHdl)
  825.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 12, 0xABFB);
  826. extern OSErr Forward_GXPostScriptDoDocumentHeader(gxPostScriptImageDataHdl)
  827.  TWOWORDINLINE(0x7036, 0xABFB);
  828. extern OSErr Send_GXPostScriptDoDocumentSetup(gxPostScriptImageDataHdl)
  829.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 13, 0xABFB);
  830. extern OSErr Forward_GXPostScriptDoDocumentSetup(gxPostScriptImageDataHdl)
  831.  TWOWORDINLINE(0x7036, 0xABFB);
  832. extern OSErr Send_GXPostScriptDoDocumentTrailer(gxPostScriptImageDataHdl)
  833.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 14, 0xABFB);
  834. extern OSErr Forward_GXPostScriptDoDocumentTrailer(gxPostScriptImageDataHdl)
  835.  TWOWORDINLINE(0x7036, 0xABFB);
  836. extern OSErr Send_GXPostScriptDoPageSetup(gxFormat, long, gxPostScriptImageDataHdl)
  837.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 15, 0xABFB);
  838. extern OSErr Forward_GXPostScriptDoPageSetup(gxFormat, long, gxPostScriptImageDataHdl)
  839.  TWOWORDINLINE(0x7036, 0xABFB);
  840. extern OSErr Send_GXPostScriptSelectPaperType(gxPaperType, long, gxPostScriptImageDataHdl)
  841.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 16, 0xABFB);
  842. extern OSErr Forward_GXPostScriptSelectPaperType(gxPaperType, long, gxPostScriptImageDataHdl)
  843.  TWOWORDINLINE(0x7036, 0xABFB);
  844. extern OSErr Send_GXPostScriptDoPageTrailer(gxPostScriptImageDataHdl)
  845.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 17, 0xABFB);
  846. extern OSErr Forward_GXPostScriptDoPageTrailer(gxPostScriptImageDataHdl)
  847.  TWOWORDINLINE(0x7036, 0xABFB);
  848. #if defined(applec) && !defined(powerc)
  849. extern OSErr Send_GXPostScriptEjectPage(gxPaperType, long pagenumber, long copiescount, short erasepage, gxPostScriptImageDataHdl)
  850.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 18, 0xABFB);
  851. extern OSErr Forward_GXPostScriptEjectPage(gxPaperType, long pagenumber, long copiescount, short erasepage, gxPostScriptImageDataHdl)
  852.  TWOWORDINLINE(0x7036, 0xABFB);
  853. #else
  854. extern OSErr Send_GXPostScriptEjectPage(gxPaperType, long pagenumber, long copiescount, long erasepage, gxPostScriptImageDataHdl)
  855.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 18, 0xABFB);
  856. extern OSErr Forward_GXPostScriptEjectPage(gxPaperType, long pagenumber, long copiescount, long erasepage, gxPostScriptImageDataHdl)
  857.  TWOWORDINLINE(0x7036, 0xABFB);
  858. #endif
  859.  
  860. extern OSErr Send_GXPostScriptProcessShape(gxShape page, long trcount, gxTransform trlist[])
  861.  FIVEWORDINLINE(0x7032, 0x223C, 0x0001, 19, 0xABFB);
  862. extern OSErr Forward_GXPostScriptProcessShape(gxShape page, long trcount, gxTransform trlist[])
  863.  TWOWORDINLINE(0x7036, 0xABFB);
  864. #ifdef __cplusplus
  865. }
  866. #endif
  867.  
  868. enum  {
  869.     gxMissingImagePointer        = -4
  870. };
  871.  
  872. #define GXDRIVERAPIGLUE(selector) {0x203C, 0x0002, selector, 0xABFE}
  873.  
  874. #ifdef __cplusplus
  875. extern "C" {
  876. #endif
  877.  
  878. extern OSErr GXAddPrinterViewDevice(gxPrinter, gxViewDevice)
  879.  FOURWORDINLINE(0x203C, 0x0002, 0, 0xABFE);
  880. extern OSErr GXGetAvailableJobFormatModes(gxJobFormatModeTableHdl *)
  881.  FOURWORDINLINE(0x203C, 0x0002, 1, 0xABFE);
  882. extern OSErr GXSetPreferredJobFormatMode(gxJobFormatMode, Boolean directOnly)
  883.  FOURWORDINLINE(0x203C, 0x0002, 2, 0xABFE);
  884. #if defined(applec) && !defined(powerc)
  885. extern OSErr GXPrintingAlert(short iconId, short txtSize, short defaultTitleNum, short cancelTitleNum, short textLength, Ptr pAlertMsg, StringPtr actionTitle, StringPtr title2, StringPtr title3, StringPtr msgFont, ModalFilterUPP filterProc, short *itemHit, StringPtr alertTitle)
  886.  FOURWORDINLINE(0x203C, 0x0002, 3, 0xABFE);
  887. extern OSErr GXGetPrintingAlert(short alertResId, ModalFilterUPP, short *itemHit)
  888.  FOURWORDINLINE(0x203C, 0x0002, 4, 0xABFE);
  889. extern OSErr GXFetchDTPData(Str31 dtpName, OSType theType, short theID, Handle *theData)
  890.  FOURWORDINLINE(0x203C, 0x0002, 5, 0xABFE);
  891. extern OSErr GXWriteDTPData(Str31 dtpName, OSType theType, short theID, Handle theData)
  892.  FOURWORDINLINE(0x203C, 0x0002, 6, 0xABFE);
  893. extern OSErr GXHandleChooserMessage(gxJob *aJob, Str31 driverName, short message, short caller, StringPtr objName, StringPtr zoneName, ListHandle theList, long p2)
  894.  FOURWORDINLINE(0x203C, 0x0002, 7, 0xABFE);
  895. #else
  896. extern OSErr GXPrintingAlert(long iconId, long txtSize, long defaultTitleNum, long cancelTitleNum, long textLength, Ptr pAlertMsg, StringPtr actionTitle, StringPtr title2, StringPtr title3, StringPtr msgFont, ModalFilterUPP filterProc, short *itemHit, StringPtr alertTitle)
  897.  FOURWORDINLINE(0x203C, 0x0002, 3, 0xABFE);
  898. extern OSErr GXGetPrintingAlert(long alertResId, ModalFilterUPP, short *itemHit)
  899.  FOURWORDINLINE(0x203C, 0x0002, 4, 0xABFE);
  900. extern OSErr GXFetchDTPData(Str31 dtpName, OSType theType, long theID, Handle *theData)
  901.  FOURWORDINLINE(0x203C, 0x0002, 5, 0xABFE);
  902. extern OSErr GXWriteDTPData(Str31 dtpName, OSType theType, long theID, Handle theData)
  903.  FOURWORDINLINE(0x203C, 0x0002, 6, 0xABFE);
  904. extern OSErr GXHandleChooserMessage(gxJob *aJob, Str31 driverName, long message, long caller, StringPtr objName, StringPtr zoneName, ListHandle theList, long p2)
  905.  FOURWORDINLINE(0x203C, 0x0002, 7, 0xABFE);
  906. #endif
  907.  
  908. #ifdef __cplusplus
  909. }
  910. #endif
  911.  
  912. #endif
  913.  
  914.